package dados;

import java.util.ArrayList;
import java.sql.Date;
import java.util.List;

public class Enfermeira extends Pessoa{

	private Posto posto;
	private long coren;
	private List<Amostra> amostras;
	
	public Enfermeira(int id){
		super(id);
	}
	
	public Enfermeira(int id, char sexo, String nome, long rg, long cpf,
			Date dataNas, String endereco, Posto posto, long coren) {
		super(id, sexo, nome, rg, cpf, dataNas, endereco);
		
		this.posto = posto;
		this.coren = coren;
		this.amostras = new ArrayList<Amostra>();
	}
	
	public Enfermeira(int id, char sexo, String nome, long rg, long cpf,
			Date dataNas, String endereco, long coren, byte[] foto) {
		super(id, sexo, nome, rg, cpf, dataNas, endereco, foto);
		
		this.posto = null;
		this.coren = coren;
		this.amostras = new ArrayList<Amostra>();
	}
	
	public Enfermeira(int id, char sexo, String nome, long rg, long cpf,
			Date dataNas, String endereco, long coren) {
		super(id, sexo, nome, rg, cpf, dataNas, endereco);
		
		this.posto = null;
		this.coren = coren;
		this.amostras = new ArrayList<Amostra>();
	}

	public Enfermeira(int id, String nome, long rg, long cpf, long coren) {
		super(id, 'a', nome, rg, cpf, null, null);
		
		this.posto = null;
		this.coren = coren;
		this.amostras = new ArrayList<Amostra>();
	}

	public List<Amostra> getAmostra() {
		return amostras;
	}

	public void setAmostra(List<Amostra> amostra) {
		this.amostras = amostra;
	}

	public Posto getPosto() {
		return this.posto;
	}

	public void setPosto(Posto posto) {
		this.posto = posto;
	}

	public long getCoren() {
		return this.coren;
	}

	public void setCoren(long coren) {
		this.coren = coren;
	}
	
	public void adicionarAmostra(Amostra amostra){
		this.amostras.add(amostra);
	}
	
	public void removerAmostra(Amostra amostra){
		this.amostras.remove(amostra);
	}
	
	public boolean existeAmostra(Amostra amostra){
		boolean retorno = false;
		
		if(this.amostras.contains(amostra)){
			retorno = true;
		}
		return retorno;
	}
	
	public List<Amostra> getAmostras(){
		return this.amostras;
	}
	
	public String toString(){
		return this.getNome();
	}
}
